/*
 * MoveMilitaryModel.java
 *
 * @author Michael Hansen
 * @author Lukas Thuernagel
 * @author Soeren Warszus
 */

package risk.game;


public class MoveMilitaryModel {
    
    /**
     * Das zum Model gehoerige View
     */
    private MoveMilitaryView moveMilitaryView;
    
    /**
     * Ermittelte Truppenanzahl, die umgesiedelt werden sollen
     */
    private int moveTrupps;
    /**
     * Land aus dem Truppen abgezogen werden
     */
    private Territory fromTerritory;
    /**
     * Land in das Truppen gezogen werden sollen
     */
    private Territory toTerritory;
    
    /** Creates a new instance of MoveMilitaryModel */
    public MoveMilitaryModel() {
    }
    
    /**
     * Registreirung des Views
     * 
     * @param MoveMilitaryView mmv, das View, das dieses Model anzeigen soll.
     */
    public void registerView(MoveMilitaryView mmv){
        this.moveMilitaryView = mmv;
    }
    
    /**
     * Setzen der beiden Laender, aus dem bzw. in das Truppen verschoben werden sollen
     *
     * @param Territory fromTerritory Land, aus dem Truupen abgezogen werden sollen
     * @param Territory toTerritory   Land, in das Truppen gezogen werden sollen
     */
    public void setTerritories(Territory fromTerritory, Territory toTerritory){
        this.moveMilitaryView.setTerritories(fromTerritory,toTerritory);
    }
    
    /**
     * Rueckgabe der zu verschiebenen Truppen.
     *
     * @return int Anzahl Truppen, die in das Territory toTerritory geschoben werden sollen
     */
    public int getMovedTrupps(){
        return this.moveMilitaryView.getMovedMilitary();
    }
    
    /**
     * Den View zuruecksetzen
     */
    public void resetView(){
        if(this.moveMilitaryView != null){
            this.moveMilitaryView.reset();
        }
    }
    
}
